Data & datatyper

grundlæggende om data & datatyper

datatyper

En datatype en klassifikation, der identificerer og indskrænker hvilke værdier en given mængde data repræsenterer. Klassiske datatyper er heltal (integers), decimaltal (floats), tekst og tegn (strings) og boolske værdier (booleans), som kan være sande eller falske. Se siden om programmering. 

variable

En variabel er en symbolsk repræsentation for en mængde eller et udtryk. 

I matematik har variable oftest en "ukendt" mængde, så de kan ændre sig, eller variere. I datalogi repræsenterer variable allokeringer af data, som kan ændres. 

Når man opretter (erklærer) en variabel, skal man angive dens navn og datatype. Derefter tildeler man den en dataværdi. Når en variabel får tildelt en bestemt værdi, kaldes den enten et “aktuelt parameter” eller et ”argument”.

Selve variablen er ikke en datastruktur - den er jo blot en symbolsk repræsentation for noget - men den kan godt indeholde en reference til en værdi, som er organiseret i en datastruktur, fx en liste eller et array.

datastrukturer

Datastrukturer er en fællesbetegnelse for data, der er organiserede i elementer, som kan tilføjes eller fjernes fra strukturen. Nogle datastrukturer forudsætter, at dataelementerne hver har et nøglefelt, der kan sorteres efter.

Man kan som udgangspunkt udføre følgende operationer på datastrukturer:

Eksempler på datastrukturer er linkede lister og arrays. Begge dele er måder at organisere flere dataforekomster lineært på. 

Linkede lister: 

Data-elementer kan lagres på tilfældige pladser. Kronologi imellem pladserne skabes ved pegning fra et element til det næste. 

Arrays:

Data-elementer lagres fortløbende og tildeles et indeks-nummer, således at første plads får index-nummer 0, anden plads får indeks-nummer 1, osv

Sammenligning af linkede lister og arrays:

Hvis man tænker på alfabetet, vil en liste gennem pegning kunne organisere dette kronologisk, altså a, b, c, d, e,..., selvom de enkelte bogstaver måske ikke er indskrevet på den måde i listen, men fx som b, e, c, a, d. Pegningen vil betyde, at der hoppes frem og tilbage i listen, så bogstaverne læses i den rigtige rækkefølge alligevel, altså at a peger på b, som peger på c, osv. Et array er nødt til at lagre data kronologisk, dvs. at a skal være det første element, b det næste osv.  

En liste kan udvides uendeligt, mens et array har en bestemt størrelse fra starten, som på et tidspunkt vil blive fyldt, og det er omkostningstungt at udvide det. Derudover kan elementer nemt tilføjes eller fjernes på en liste - også midt i listen -, idet man bare skal ændre på pegningen. I et array vil fjernelse af elementer efterlade tomme områder, som kun kan fjernes ved at flytte alle de efterfølgende elementer. Ligeledes vil indsættelse af et nyt element kræve, at evt. efterfølgende elementer flyttes en plads.

Til gengæld tillader et array vilkårlig adgang til ethvert element (hvis man altså kender indeks-nummeret), mens man kun kan tilgå data på en liste sekventielt, dvs. at programmet skal gennemløbe listen fra start frem til det element, man skal bruge. Linkede listers brug af pegning til det næste element (og i dobbelt-linkede lister, hvor man også kan gå baglæns, til det foregående) gør, at linkede lister optager mere lagerplads i computerens hukommelse end et array, som ikke skal lagre denne information sammen med dataforekomsterne. 

Som en konsekvens af ovenstående bør man bruge linkede lister, når man arbejder med store lister af data, hvor antallet af elementer på listen kan variere, mens arrays passer bedre til små lister, hvor man kender det maksimale antal af elementer på listen, og hvor der er en statisk sammenhæng mellem dem.

databaser

En database er en organiseret samling af data. Databaser udnyttes til utallige formål på alle størrelser computere fra store centrale maskiner til pc'er og lagres normalt på harddiske. De kan findes lokalt på brugerens maskine eller nås ved kommunikation over netværk. En database kan være distribueret og dubleret på geografisk spredte maskiner af hensyn til sikkerhed og tilgængelighed.

En stor del af internettets sider viser data, som er trukket ud af databaser ved søgning eller anden form for databehandling.

Det er forholdsvist simpelt at arbejde med databaser i fx SQL og lade eleverne indsætte, ændre, slette og udtrække data i en simpel database.

Big data

Big data betegne massive mængder ustruktureret data, som samles fra forskellige kilder. Teknologiske nybrud gør dette muligt. 

Andre teknologier bevirker, at det er muligt at beregne på denne data og dermed skabe store værdier.

Særlige teknologier i forbindelse med big data er:


Eleverne vil naturligvis ikke kunne få "hands-on" i forhold til big data, men man kan alligevel snakke med dem om de seks forhold, der er væsentlige i forhold til feltet, og som ses i grafikken til højre.